package code;

import java.lang.reflect.Array;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @author huang
 * @description
 * @date 2023/4/17 14:37
 * 2.明明的随机数
 * 明明生成了
 * N个1到500之间的随机整数。请你删去其中重复的数字，即相同的数字只保留一个，把其余相同的数去掉，然后再把这些数从小到大排序，按照排好的顺序输出。
 *
 * 数据范围：
 * 1
 * ≤
 * �
 * ≤
 * 1000
 *
 * 1≤n≤1000  ，输入的数字大小满足
 * 1
 * ≤
 * ≤
 * 500
 *
 * 1≤val≤500
 * 时间限制：C/C++ 1秒，其他语言2秒
 * 空间限制：C/C++ 32M，其他语言64M
 * 输入描述：
 * 第一行先输入随机整数的个数 N 。
 * 接下来的 N 行每行输入一个整数，代表明明生成的随机数。
 * 具体格式可以参考下面的"示例"。
 * 输出描述：
 * 输出多行，表示输入数据处理后的结果
 *
 * 示例1
 * 输入例子：
 * 3
 * 2
 * 2
 * 1
 * 输出例子：
 * 1
 * 2
 * 例子说明：
 * 输入解释：
 * 第一个数字是3，也即这个小样例的N=3，说明用计算机生成了3个1到500之间的随机整数，接下来每行一个随机数字，共3行，也即这3个随机数字为：
 * 2
 * 2
 * 1
 * 所以样例的输出为：
 * 1
 * 2
 */
public class HuaWeiTestMing {


    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        TreeSet<Integer> zui = new TreeSet<>();
        while(sc.hasNextInt()){
            int n = sc.nextInt();
            for (int q = 0; q<n; q++){
                zui.add(sc.nextInt());
            }
            for (Integer integer : zui) {
                System.out.println(integer);
            }
        }
    }

    public static void sum(int n ,TreeSet<Integer> zui){
        zui.add(n);
    }

    //思路：TreeSet 有序，唯一
    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int n = scanner.nextInt();
            TreeSet<Integer> set = new TreeSet<>();  // 有序，不重复
            for (int i=0;i<n;i++){
                set.add(scanner.nextInt());
            }
            // 输出结果
            List<Integer> collect =new LinkedList<>();
            for (Integer num : set){
                collect.add(num);
                System.out.println(num);
            }
            collect.sort((q1,q2)->{return q2-q1;});
            for (Integer integer : collect) {
                System.out.println(integer);
            }
        }
    }



}
